Index: Texinfo/Convert/Converter.pm
===================================================================
--- Texinfo/Convert/Converter.pm	(revision 7488)
+++ Texinfo/Convert/Converter.pm	(working copy)
@@ -1136,6 +1136,8 @@ sub _collect_leading_trailing_spaces_arg($$)
   return @result;
 }
 
+use Parsetexi;
+
 sub _table_item_content_tree($$$)
 {
   my $self = shift;
@@ -1160,7 +1162,8 @@ sub _table_item_content_tree($$$)
                'contents' => $contents,
                'parent' => $command,};
     $command->{'args'} = [$arg];
-    $self->Texinfo::Parser::_register_command_arg($arg, 'brace_command_contents');
+    #$self->Parsetexi::_register_command_arg($arg, 'brace_command_contents');
+    #$self->Texinfo::Parser::_register_command_arg($arg, 'brace_command_contents');
     $contents = [$command];
   }
   $converted_tree->{'contents'} = $contents;
Index: Texinfo/ModulePath.pm.in
===================================================================
--- Texinfo/ModulePath.pm.in	(revision 7490)
+++ Texinfo/ModulePath.pm.in	(working copy)
@@ -51,6 +51,7 @@ sub init (;$$) {
     if ('@USE_EXTERNAL_UNIDECODE@' ne 'yes') {
       unshift @INC, (File::Spec->catdir($lib_dir, 'lib', 'Text-Unidecode', 'lib'));
     }
+    unshift @INC, (File::Spec->catdir($lib_dir, '..', 'parsetexi'));
   }
 
   if (!$libexec_dir) {
Index: Texinfo/Parser.pm
===================================================================
--- Texinfo/Parser.pm	(revision 7506)
+++ Texinfo/Parser.pm	(working copy)
@@ -33,6 +33,9 @@ package Texinfo::Parser;
 use 5.006;
 use strict;
 
+# make sure we don't load this module for testing XS
+die;
+
 # debug
 use Carp qw(cluck);
 
Index: Texinfo/Report.pm
===================================================================
--- Texinfo/Report.pm	(revision 7496)
+++ Texinfo/Report.pm	(working copy)
@@ -48,7 +48,8 @@ use File::Basename;
 
 use Locale::Messages;
 # to be able to load a parser if none was given to gdt.
-use Texinfo::Parser;
+#use Texinfo::Parser;
+use Parsetexi;
 
 # return the errors and warnings
 sub errors($)
@@ -392,7 +393,8 @@ sub gdt($$;$$)
     }
   }
   #my $parser = Texinfo::Parser::parser($parser_conf);
-  my $parser = Texinfo::Parser::simple_parser($parser_conf);
+  #my $parser = Texinfo::Parser::simple_parser($parser_conf);
+  my $parser = Parsetexi::parser($parser_conf);
   if ($parser->{'DEBUG'}) {
     print STDERR "GDT $translation_result\n";
   }
Index: Texinfo/Structuring.pm
===================================================================
--- Texinfo/Structuring.pm	(revision 7506)
+++ Texinfo/Structuring.pm	(working copy)
@@ -396,7 +396,8 @@ sub nodes_tree($)
   foreach my $node (@{$self->{'nodes'}}) {
     if ($node->{'extra'}->{'normalized'} eq 'Top') {
       $top_node = $node;
-      my $parser = Texinfo::Parser::simple_parser ($self->{'conf'});
+      #my $parser = Texinfo::Parser::simple_parser ($self->{'conf'});
+      my $parser = Parsetexi::parser ($self->{'conf'});
       my $top_node_up_content_tree
                          = $parser->parse_texi_line($self->{'TOP_NODE_UP'});
       $top_node_up
Index: t/test_utils.pl
===================================================================
--- t/test_utils.pl	(revision 7480)
+++ t/test_utils.pl	(working copy)
@@ -43,7 +43,8 @@ Texinfo::ModulePath::init();
 
 use Test::More;
 
-use Texinfo::Parser;
+#use Texinfo::Parser;
+use Parsetexi;
 use Texinfo::Convert::Text;
 use Texinfo::Convert::Texinfo;
 use Texinfo::Structuring;
@@ -730,7 +731,8 @@ sub test($$)
   #  push @tested_formats, @{$self->{'test_formats'}};
   }
 
-  my $parser = Texinfo::Parser->parser({'TEST' => 1,
+  #my $parser = Texinfo::Parser->parser({'TEST' => 1,
+  my $parser = Parsetexi::parser({'TEST' => 1,
                                         'include_directories' => [
                                           't/include_dir/',
                                           't/include/',
Index: texi2any.pl
===================================================================
--- texi2any.pl	(revision 7480)
+++ texi2any.pl	(working copy)
@@ -273,8 +273,8 @@ if ($configured_version eq '@' . 'PACKAGE_VERSION@
   } else {
     # used in the standalone perl module, as $hardcoded_version is undef
     # and it should never be configured in that setup
-    require Texinfo::Parser;
-    $configured_version = $Texinfo::Parser::VERSION;
+    ## require Texinfo::Parser;
+    ## $configured_version = $Texinfo::Parser::VERSION;
   }
 }
 my $configured_package = '@PACKAGE@';
@@ -1068,7 +1068,14 @@ if ($call_texi2dvi) {
   document_warn(__('--Xopt option without printed output')); 
 }
 
-require Texinfo::Parser;
+#require Texinfo::Parser;
+BEGIN {
+require Parsetexi;
+*Texinfo::Parser:: = \%Parsetexi::;
+}
+
+print *Parsetexi::{PACKAGE};
+
 require Texinfo::Structuring;
 require Texinfo::Transformations;
 # Avoid loading these modules until down here to speed up the case
